// server.js
const express = require('express')
const WebSocket = require('ws')

const app = express()

const server = app.listen(9902, () => {
  console.log('server is running http://127.0.0.1:9902')
})

// WebSocket服务器
const wss = new WebSocket.Server({ server })

// 服务已连接
wss.on('connection', (ws) => {
  // 监听客户端传入的消息
  ws.on('message', function incoming(message) {
    // console.log('接收客户端传递过来的数据: %s', message)
    const parsedMessage = message
    // // 自定义消息处理
    getMessage(parsedMessage, ws)
  })

  // 模拟消息 发给客户端
  ws.send('欢迎使用websocket服务!')
  // const sendJson = {
  //   type: 'serverMessage',
  //   data: {
  //     message: '欢迎使用websocket服务!'
  //   }
  // }
  // ws.send(JSON.stringify(sendJson))
})

function getMessage(message, ws) {

 // 将二进制数据流转换为字符串
 const messageString = message.toString('utf8');
 console.log('接收客户端的信息:', messageString);

  // 测试 - 回显客户端的消息
  ws.send(messageString);
}


// 根据不同请求码进行不同处理
// const requestMap = new Map([
  
// ])